4.编辑采集点表
点击"Device1",出现采集点配置界面,
点击"添加" 后,创建名称为"tag0001";数据区为"4X (Holding Register)";Modbus寄存器地址为"1",;采集数据类型为 "float";字节序为"Little-endian byte swap";读写属性为"读写";倍率:"1"的采集点,最后点击"保存"。
图2-7-7 tag点配置
TatgID: 数据点标签,默认为tagxxx,可自定义,同一个设备TagID不可重复。
名称:点名称,可自定义;
数据区:根据需要,选择"0X (Coil Status)"、"1X (Input Status)"、"3X (Input Registers)"和"4X (Holding Register)"。
- 0X (Coil Status) 数字量、支持读写,该数据区只支持布尔量, "采集数据类型" 只能设置bool
- 1X (Input Status) 数字量、只读,该数据区只支持布尔量, "采集数据类型" 只能设置bool
- 3X (Input Registers) 模拟量、只读
- 4X (Holding Register) 模拟量、支持读写
功能码 | 名称 | 支持数据类型 | 对应Modbus数据区 |
---|---|---|---|
0x01 | 读线圈状态 | bool | 0X |
0x02 | 读取输入状态 | bool | 1X |
0x03 | 读取保持寄存器 | bit、int8、int16、int32、int64、float、double、int16_bit、int4h(12-15)、int4sh(8-11)、int4sl(4-7)、int4l(0-3) | 4X |
0x04 | 读取输入寄存器 | bit、int8、int16、int32、int64、float、double、int16_bit、int4h(12-15)、int4sh(8-11)、int4sl(4-7)、int4l(0-3) | 3X |
0x05 | 强置单线圈 | bool | 0x |
0x06 | 预置单寄存器 | bit、int8、int16、int32、int64、float、double、int16_bit、int4h(12-15)、int4sh(8-11)、int4sl(4-7)、int4l(0-3) | 4x |
0x0F | 强置多线圈 | bool | 0x |
0x10 | 强置多寄存器 | bit、int8、int16、int32、int64、float、double、int16_bit、int4h(12-15)、int4sh(8-11)、int4sl(4-7)、int4l(0-3) | 4x |
Modbus寄存器地址:寄存器的地址,地址范围0-65535,
注意取位操作时,地址保留两位小数写成 X.XX ,bit位的操作范围00到15共16位。
取位示例:
地址为"1.05", 读取寄存器地址为 1 的第5位 bit,取出的值为0;
地址为"1.12" , 读取寄存器地址为 1 的第12位 bit,取出的值为1;
位操作类型,只能在3X和4X中使用,示例如下:
bit: 如地址为"1.05",读取寄存器地址为 1 的第6位 bit,按上表中数据取出的值为0。
int16_bit:可以读任意bit位的数据,位之间用逗号隔开,位可以是连续的(如00,01,02),也可以是不连续的(如00,03,06),如地址为"1.00,01,12,02,08",读取寄存器地址为 1 的第00、01、02、08、12位 bit,值按寄存器高位到低位顺序排列,按上表中数据取出的值为11100。
int4h(12-15):如地址为"1",读取寄存器地址为 1 的第12位-15位 bit,按上表中数据取出的值为1001。
int4sh(8-11):如地址为"1",读取寄存器地址为 1 的第8位-11位 bit,按上表中数据取出的值为0101。
int4sl(4-7):如地址为"1",读取寄存器地址为 1 的第4位-7位 bit,按上表中数据取出的值为0101。
int4l(0-3):如地址为"1",读取寄存器地址为 1 的第0位-3位 bit,按上表中数据取出的值为0100。
字节序:计算机体系结构中对于字节、字等的存储机制不同,所以需要对高低字节排序,用来解析数据。
我们用1、2、3、4 对应两个寄存器中的4个字节:
- "Big-endian"表示高地址在前 1234
- "Little-endian"表示低地址在前 4321
- "Big-endian byte swap"表示高地址在前,并交换字节顺序 2143
- "Little-endian byte swap"表示低地址在前,并交换字节顺序 3412
读写属性:指定采集点的读写权限,一般有"读写"(可读可写)、"只读"(只能读取)和"只写"(只能写入)
"倍率":通过倍率对数据进行乘法运算,可进行工程上的换算,默认为1。